﻿using Estsh.Core.Model.ExcelModel;
using Estsh.Core.Model.Extend.Models;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Services;
using Estsh.Core.Util;
using Microsoft.AspNetCore.Mvc;
using System.Collections;

namespace Estsh.Core.Wms.IServices
{
    
    public interface IWorkOrderService : IBaseService<MesWorkOrder_Extend>
    {

        public List<KeyValueResult> GetResourceCode(int factoryId);
        public List<KeyValueResult> GetOrderType();
        public List<KeyValueResult> GetOrderStatus();
        public List<KeyValueResult> GetPrepareMateria();
        public List<KeyValueResult> GetWarehouse();
        public Hashtable getWorkOrderListPage(string orderNo, string partNo, string refWrokOrderNo, string resourceCode, string orderType, string orderStatus, string ProduceStartTimeStart, string ProduceStartTimeEnd, string ProduceEndTimeStart, string ProduceEndTimeEnd,int factoryId, Pager pager, String direction, String sort);

        public int saveGenerateIngredients(string prepareMaterial,string orderNos,string Warehouse,int empId);

        public int FiringData(String orderNos);
        public int SuspendData(String orderNos);
        public int CancelData(String orderNos);
        public int CloseData(String orderNos);
        public int AccomplishData(String orderNos);


        /*
            public Hashtable getAdjustOrderListByPage(Pager pager, String direction, String sort, string cbCustPDLine, string SN, string partNo, string enabled);

            public int saveAdjustOrder(SysPartCustOrder htParams);

            public int updateAdjustOrder(SysPartCustOrder htParams);

            public List<SysPartCustOrder> getAdjustOrder(String part_id);

            public int deleteAdjustOrder(String ids);

            public bool upRow(int seq, int ruid, int up_ruid, int up_seq);

            public bool upAll(int ruid, int seq, int up_ruid, int up_seq);

            public List<GWorkorderDetail> selectAll(string CustPDLine);

            public List<KeyValueResult> getSelectAdjustOrder();

            public int deleteOrder(String ruid);

            public int deleteOrderInfo(String ruid, string custPdlineDesc);
            public int EnableData(String ids);
            public int DisableData(String ids);
            public Hashtable getTableListByPage(String cbCustPDLine, Pager pager, String direction, String sort, Boolean isPage);
        */
    }

    
}
